<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Windows CE/Mobile FAQ</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="build_wince.html" title="Chapter 29.  Building Berkeley DB for Windows CE" />
    <link rel="prev" href="build_wince_notes.html" title="Windows CE notes" />
    <link rel="next" href="build_vxworks.html" title="Chapter 30.  Building Berkeley DB for VxWorks" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Windows CE/Mobile FAQ</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="build_wince_notes.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 29. 
		Building Berkeley DB for Windows CE
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="build_vxworks.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="build_wince_faq"></a>Windows CE/Mobile FAQ</h2>
          </div>
        </div>
      </div>
      <div class="orderedlist">
        <ol type="1">
          <li>
            <span class="bold">
              <strong>What if my Windows CE/Mobile device does not support SetFilePointer and/or SetEndOfFile?</strong>
            </span>
            <p>You can manually disable the truncate functionality from the build.</p>
            <p>Do that by opening the <code class="filename">db-X.X.X/build_wince/db_config.h</code> file, and change the line that reads </p>
            <pre class="programlisting">#define HAVE_FTRUCATE 1</pre>
            <p> to read </p>
            <pre class="programlisting">#undef HAVE_FTRUNCATE</pre>
            <p>Making this change disables <a href="../api_reference/C/dbcompact.html" class="olink">DB-&gt;compact()</a> for btree databases.</p>
          </li>
          <li>
            <span class="bold">
              <strong>Why doesn't automatic log archiving work?</strong>
            </span>
            <p>The Windows CE/Mobile platform does not have a concept of a working directory. This means that the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_REMOVE" class="olink">DB_ARCH_REMOVE</a> and <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_ABS" class="olink">DB_ARCH_ABS</a> flags do not work properly within Windows CE, since they rely on having a working directory.</p>
            <p> To work around this issue, you can call log_archive with the <a href="../api_reference/C/logarchive.html#archive_DB_ARCH_LOG" class="olink">DB_ARCH_LOG</a> flag, the list of returned file handles will not contain absolute paths. Your application can take this list of files, construct absolute paths, and delete the files.</p>
          </li>
          <li>
            <span class="bold">
              <strong>Does Berkeley DB support Windows Mobile?</strong>
            </span>
            <p>Yes. </p>
            <p>Berkeley DB relies on a subset of the Windows API, and some standard C library APIs. These are provided by Windows CE. Windows Mobile is built "on top" of Windows CE.</p>
          </li>
          <li>
            <span class="bold">
              <strong>I see a file mapping error when opening a Berkeley DB environment or database. What is wrong?</strong>
            </span>
            <p>The default behavior of Berkeley DB is to use memory mapped files in the environment. It seems that Windows CE does not allow memory mapped files to be created on flash storage.</p>
            <p>There are two workarounds:</p>
            <div class="orderedlist">
              <ol type="a">
                <li>Configure the Berkeley DB environment not to use memory mapped files. The options are discussed in detail in <a class="xref" href="env_region.html" title="Shared memory regions">the section called “Shared memory regions”</a>.</li>
                <li>Create the Berkeley DB environment on non-flash storage. It is possible to store database and log files in a different location to using the <a href="../api_reference/C/envset_data_dir.html" class="olink">DB_ENV-&gt;set_data_dir()</a> and <a href="../api_reference/C/envset_lg_dir.html" class="olink">DB_ENV-&gt;set_lg_dir()</a> APIs.</li>
              </ol>
            </div>
          </li>
        </ol>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="build_wince_notes.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="build_wince.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="build_vxworks.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Windows CE notes </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Chapter 30. 
		Building Berkeley DB for VxWorks
        </td>
        </tr>
      </table>
    </div>
  </body>
</html>
